package org.example.test.service;

import org.example.test.model.CommentsModel;
import java.util.List;

public interface CommentsService {

    /**
     * 创建一条新的评论
     *
     * @param commentRequest 包含评论信息的请求对象
     * @return 新创建的评论对象
     */
    void createComment(CommentsModel commentRequest);

    /**
     * 删除指定ID的评论
     *
     * @param commentId 要删除的评论ID
     */
    void deleteComment(Long commentId);

    /**
     * 根据ID获取评论
     *
     * @param commentId 要获取的评论ID
     * @return 对应ID的评论对象
     */
    CommentsModel getCommentById(Long commentId);

    /**
     * 列出某个用户的所有评论
     *
     * @param userId 用户ID
     * @return 用户的所有评论列表
     */
    List<CommentsModel> listCommentsByUser(Long userId);

    /**
     * 列出某个产品下的所有评论
     *
     * @param productId 产品ID
     * @return 产品的所有评论列表
     */
    List<CommentsModel> listCommentsByProduct(Long productId);
}